package com.easyim.imserver.controller;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.concurrent.locks.ReentrantLock;

@RestController()
@RequestMapping("/session")
public class SessionController {





    /**
     *  分页获取会话列表 拉消息 极限情况下。就是刚建立连接成 然后有人给他发消息了就 先看他的会话列表 把会话列表客户端
     * @param userName
     * @return  返回没有拉的消息数。建立连接的第一件事。就是推送离线消息。投递下去。分页 未拉取数 最新的几条消息
     *
     * lastMsg 最新的N条消息(之所以不是一条。是防止用户点击,再去拉就慢了,导致网络不好时候第一时间刷不出来消息)
     * unAckMsgCount  这个和端上未读数的可不一致。是端上这端时间没在线没给ack的消息数
     * sessionId sessionId
     * sessionType group chat....
     * 会话的头像比如  会话名称 备注等信息 这些从哪来呢？也是从接口获取的应该
     * 拉取会话也是分页拉取的 当你刷到了一个用户的时候
     */

    @GetMapping("/{username}/getSessionPage")
    public ResponseEntity getSessionPage(@PathVariable("username") String userName){
        return ResponseEntity.ok("data");
    }

    /**
     *  客户端收到消息通知 如果本地没有这个会话 就从服务器获对方的信息 通过接口来查询会话的头像以及会话名称 比如如果有备注的话。
     *  也要存起来  sqllite
     */
}
